package cn.edu.zut.soft.student.service.teacher;

import cn.edu.zut.soft.student.bean.PageBean;
import cn.edu.zut.soft.student.model.Course;
import cn.edu.zut.soft.student.model.Teacher;
import cn.edu.zut.soft.student.service.teacher.vo.TeacherQuery;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Author ChrisPhantom
 * @CreatDate 2021/02/22 21:00
 */
public interface TeacherBo {

    /*
     * @Param: [teacher]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:01
     * @Description: 新增教师
     */
    public int addTeacher(Teacher teacher);

    /*
     * @Param: [file]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/26 11:09
     * @Description: 导入教师
     */
    public int importTeachers(MultipartFile file) throws Exception;

    /*
     * @Param: [teacherid]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:03
     * @Description: 按工号删除
     */
    public int deleteTeacher(String teacherid);

    /*
     * @Param: [teacher]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:04
     * @Description: 更新教师信息
     */
    public int updateTeacher(Teacher teacher);

    /*
     * @Param: [teacherid]
     * @Return: cn.edu.zut.soft.student.model.Teacher
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:05
     * @Description: 按工号查询
     */
    public Teacher queryTeacherById(String teacherid);

    /*
     * @Param: [teacherQuery]
     * @Return: cn.edu.zut.soft.student.bean.PageBean<java.util.List<cn.edu.zut.soft.student.model.Teacher>>
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:06
     * @Description: 按需获取教师列表
     */
    public PageBean<List<Teacher>> queryTeachers(TeacherQuery teacherQuery);

    /*
     * @Param: [teacherid, password]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:43
     * @Description: 重置教师密码
     */
    public int resetPassword(String teacherid, String password);

    /*
     * @Param: [teacherid]
     * @Return: cn.edu.zut.soft.student.model.Course
     * @Author: ChrisPhantom
     * @Date: 2021/2/24 20:24
     * @Description: 按工号查询授课课程
     */
    public Course queryTeachCourse(String teacherid);
}
